<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
	<TITLE></TITLE>
	<META NAME="GENERATOR" CONTENT="BrOffice.org 2.4  (Win32)">
	<META NAME="AUTHOR" CONTENT="Karina Kieling">
	<META NAME="CREATED" CONTENT="20081004;18054000">
	<META NAME="CHANGEDBY" CONTENT="Karina Kieling">
	<META NAME="CHANGED" CONTENT="20081101;22324557">
	<STYLE TYPE="text/css">
	<!--
		@page { margin: 2cm }
		P { margin-bottom: 0.21cm }
		P.western { so-language: pt-BR }
	-->
	</STYLE>
</HEAD>
<BODY LANG="pt-BR" DIR="LTR">
<P STYLE="margin-bottom: 0cm; font-weight: medium; line-height: 150%">
</P>
<P STYLE="margin-bottom: 0cm; font-weight: medium; line-height: 150%">
</P>
<P STYLE="margin-bottom: 0cm; line-height: 150%"><B>AN&Aacute;LISE
SEM&Acirc;NTICAS</B></P>
<P CLASS="western"><BR><BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	Apesar da
<A HREF="analise_sintatica.html">an&aacute;lise sint&aacute;tica</A>
conseguir verificar se as express&otilde;es obedecer as regras de
forma&ccedil;&atilde;o de uma determinada <A HREF="gramatica.html">gram&aacute;tica</A>,
&eacute; complicado expressar atrav&eacute;s da gram&aacute;tica
determinadas regras utilizadas em <A HREF="linguagens_programacao.html">linguagens
de programa&ccedil;&atilde;o</A>, como por exemplo &ldquo;todas
vari&aacute;veis devem ser declaradas&rdquo;, esta situa&ccedil;&atilde;o
onde o contexto em que a express&atilde;o ocorre ou o tipo da
vari&aacute;vel deve ser verificada, assim sendo este &eacute; o
objetivo da an&aacute;lise sem&acirc;ntica.</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	Segundo
Aho, Sethi e Ullman (1995, pg. 4), &ldquo;a fase da an&aacute;lise
sem&acirc;ntica verifica os erros sem&acirc;nticos no programa fonte
e captura as informa&ccedil;&otilde;es de tipo para a fase
subseq&uuml;ente de gera&ccedil;&atilde;o de c&oacute;digo&rdquo;. Ou
seja, este tipo de an&aacute;lise faz a verifica&ccedil;&atilde;o se
a constru&ccedil;&atilde;o utilizadas no programa fonte esta
semanticamente certa, identificando e diagnosticado os erros
sem&acirc;nticos.</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	Como os
aspectos sem&acirc;nticos n&atilde;o s&atilde;o facilmente
especificado, existem alguns mecanismos formais para isso, que s&atilde;o
as gram&aacute;ticas de atributos, as sem&acirc;nticas denotacionais
e as sem&acirc;nticas de a&ccedil;&otilde;es. Nas a&ccedil;&otilde;es
sem&acirc;nticas s&atilde;o associadas &agrave;s regras de produ&ccedil;&atilde;o
da gram&aacute;tica, assim de modo que quando uma certa produ&ccedil;&atilde;o
&eacute; processada, essas a&ccedil;&otilde;es s&atilde;o executadas
(PRICE; TOSCANI, 2001). As a&ccedil;&otilde;es sem&acirc;nticas podem
ser inseridas em qualquer ponto do lado direito das produ&ccedil;&otilde;es,
e s&atilde;o representadas por um # seguido de um n&uacute;mero.</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%"><BR><BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; line-height: 150%">
<IMG SRC="analise_semantica_html_m637a0871.gif" ALIGN=MIDDLE> <A HREF="Indice.html">Voltar
&Iacute;ndice</A></P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; line-height: 150%">
<BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; line-height: 150%">
<BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; line-height: 150%">
<BR>
</P>
<P CLASS="western"><BR><BR>
</P>
</BODY>
</HTML>